草庐IT

Java AES 加盐加密

全部标签

SM2算法加密与解密过程

SM2加密与解密过程概述1.SM2算法简介SM2算法是中国国家密码局推出的国产化算法,是基于椭圆曲线的非对称算法,相对于RSA算法,SM2具有密钥更小,运算速度更快,相同密钥长度下具有更高安全性等优势。1.1SM2椭圆曲线定义SM2算法定义了两条椭圆曲线,一条基于F§上的素域曲线,一条基于F(2^m)上的拓域曲线,目前使用最多的曲线为素域曲线,本文介绍的算法基于素域曲线上的运算,素域曲线方程定义如下:y2−x3+ax+by^2-x^3+ax+by2−x3+ax+b###1.2SM2曲线参数定义SM2算法定义了5个默认参数,即有限域F§的规模p,椭圆曲线参数a,b,椭圆曲线的基点G(x,y),与

java - 处理 Java 加密异常

这段非常基本的代码在Java中处理加密/解密时非常常见。finalCiphercipher=Cipher.getInstance("AES/CBC/NoPadding");cipher.init(Cipher.ENCRYPT_MODE,key,iv);cipher.doFinal(*something*);仅这三行代码就可能引发六个异常,我不确定处理它们的最简洁(就代码可读性而言)的方法是什么。尝试使用六个catch子句对我来说真的很像。在处理此类对象时,是否存在我显然遗漏的微模式或最佳实践?编辑对不起,我想我没有很好地解释自己。我的问题并不是真正要避免使用try\catch子句,而是

java - 使用 PEM 编码的加密私钥对消息进行本地签名

我正在尝试使用PEM(X.509)证书(存储在磁盘上的privateKey.pem文件中)对通过Java中的套接字发送的消息进行签名,但我很难找到一个接近的示例。我通常是一名C++专家,刚刚介入帮助完成这个项目,所以当我不熟悉API时,将它们全部组合成可以运行的代码对我来说有点困难。不幸的是,我仅限于使用Java(1.6.0Update16)的标准方法,所以尽管我使用BouncyCastle找到了一个类似的示例的PEMReader,它对这个特定项目没有多大帮助。我的privateKey.pemkey受密码保护,形式为:-----BEGINRSAPRIVATEKEY-----Proc-T

java - 如何附加到 AES 加密文件

我正在编写某种生成加密日志文件的记录器。不幸的是,密码学不是我的强项。现在我可以写入文件几条消息,然后关闭文件。然后我可以打开它,附加一些消息,再次关闭,解密后我在文件中间看到填充字节。有没有什么方法可以处理加密文件而无需每次我想附加一些消息时都对其进行解密?编辑:更多细节。当前的实现使用CipherOutputStream。据我所知,无法寻求使用它。如果我要控制输出数据大小可以被block大小整除,我可以使用“NoPadding”选项吗? 最佳答案 如果您在CBCmode中使用AES,您可以使用倒数第二个block作为IV来解密最

java - 如何在 apache BasicDataSource 中使用加密密码?

目前我将密码[未加密]保存在属性文件中。此密码使用ant按原样放置在配置xml中。[配置xml是针对datasource的,就是创建dbcp.BasicDataSource的对象]现在,是否有可能在ant目标之后以加密形式复制密码。听说Jasypt可以做到这一点!直到现在我还没有尝试过这个。但是,问题并没有就此结束。BasicDataSource不接受加密密码。有BasicDatasource的替代品吗?仅供引用:如果重要的话,我正在使用Spring。 最佳答案 对于Spring,有一个更好的方法:使用PropertyPlaceho

c# - RSA .NET 加密 Java 解密

我正在尝试使用RSA算法在.NET中加密字符串并在Java中解密结果。目前,我已经能够做相反的事情(在Java中加密,在.NET中解密)。在这里,我有实际工作的代码(JAVA加密):byte[]modulusBytes=Base64.decode("2rRVVVFJRbH/wAPDtnwZwu+nxU+AZ6uXxh/sW+AMCBogg7vndZsnRiHoLttYYPqOyOhfgaBOQogrIfrKL4lipK4m52SBzw/FfcM9DsKs/rYR83tBLiIAfgdnVjF27tZID+HJMFTiI30mALjr7+tfp+2lIACXA1RIKTk7S9pDmX8

java - 存储/恢复用于在 Java 中解密字符串的加密 key 的简便方法

对于加密,我使用这样的东西:SecretKeyaesKey=KeyGenerator.getInstance("AES").generateKey();StringEncrypteraesEncrypt=newStringEncrypter(aesKey,aesKey.getAlgorithm());StringaesEncrypted=aesEncrypt.encrypt(StringContent);如果我打印出aesKey,我会得到:“javax.crypto.spec.SecretKeySpec@1708d”。因此,对于加密,我想向用户询问key,但不知道如何以及应该采用什么格

java - 如何使用 CBC 实现 Java 256 位 AES 加密

我已阅读以下主题,它们对我有所帮助,但我正在寻找更多信息。HowtowriteAES/CBC/PKCS5PaddingencryptionanddecryptionwithInitializationVectorParameterforBlackBerryJava256bitAESEncryption基本上,我正在做的是编写一个程序来加密通过TCP/IP发送的请求,然后由服务器程序解密。加密需要是AES,做一些研究我发现我需要使用CBC和PKCS5Padding。所以基本上我还需要一个key和一个IV。我正在开发的应用程序是用于手机的,所以我想使用java安全包来减小大小。我已经完成了

java - 保护/加密 log4j 文件

我有一个问题;安全要求我有javaswing应用程序,该应用程序具有使用log4j生成的日志文件,用于跟踪情况下的支持问题一个错误。我必须加密/加密/保护文件,这样客户就无法打开它们并看到它们(至少不是人类可读的方式),同时支持技术团队获取这些文件他们将知道如何阅读(解密)它们。我做了很多搜索,我尝试了我发现的最佳选择,即通过扩展SkeletonAppender构建自定义appender。现在知道我有log4j像下面的配置一样工作得很好,但是我创建了新的类来加密它,但即使使用简单的设置我也无法让它工作它不会创建文件,所以我可以继续加密部分。任何帮助,链接都很好。工作...版本不工作..

java - 任何关于 java 公钥加密的教程?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我已经能够找到有关对称加密和散列的信息,但我一直很难找到有关java的任何类型的公钥加密的大量信息。我想做的是做一个非常简单的概念验证程序,它接受一个字符串(或者我想是一个文件),用公钥加密它,然后用私钥解密它。任何教程链接或示例将不胜感激。我只是想做一些事情来演示如何在Java中使用公钥加密。